1. Field of the Invention
The present invention relates to software, mobile app, and mobile devices. More specifically, it relates to making mobile apps secure using a network or distributed linker program on two separate computers.
2. Description of the Related Art
At least one common app source from where individuals (the public) can download apps requires that apps be submitted for approval (to be available from the app source) in a particular form. This format may be described, in one embodiment, as a monolithic binary executable. The operator of the app source may not allow app developers to use dynamic libraries, referred to in the art as DYLIBs. As is known in the art, DYLIB is code that is independent of the source code app and is linked separately with the main executable. An app developer is required to compile the source code, take the resulting object files and combine it with any needed libraries using a linker that is supplied by the entity operating the app source. In another embodiment, the linker may be supplied by another entity. In either embodiment, this single linker resolves all links or symbols in the app code and creates an acceptable form of the app which can be made available for download from the app source. In some cases this linking is done locally on the app developer's machine (locally) where the linker and any other linker-related coding tools reside. As noted, in one embodiment, the linker used is supplied by the entity running the app source.
However, app developers may want to add features to their apps, features that they do not develop themselves. One such feature may be making apps secure when executing on a device, referred to as app security wrapping or shielding. App wrapping or shielding may require the use of DYLIBS by the app developer in order to create a final executable. As noted above, this prevents the developer from getting the app approved for posting on the app source. It would be desirable to enable app developers to incorporate a feature which requires DYLIBS into their apps, such as app security wrapping, while still being able to meet requirements of app source entities but allowing the app to achieve the functionality of the feature.